﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.UI.Security.Services;
using Sinacor.UI.Bovespa.Clientes.Communication.Bovespa.Cliente.DicionarioErroExportacaoComitente;

namespace Sinacor.UI.Bovespa.Clientes.Communication.Translator.DataContractToModel
{
    /// <summary>
    /// Translator.DataContractToModel Class - DicionarioErroExportacaoComitente
    /// </summary>
    public class DicionarioErroExportacaoComitente
    {
        #region Métodos Públicos

        /// <summary>
        /// Traduz uma Comunication do tipo ErroExportacaoComitenteResponse para uma Model ErroExportacaoComitente
        /// </summary>
        /// <param name="from"></param>
        /// <returns></returns>
        public Model.ErroExportacaoComitente ToErroExportacaoComitente(ErroExportacaoComitenteResponse from)
        {
            Model.ErroExportacaoComitente to = new Model.ErroExportacaoComitente();

            to.Codigo = from.Codigo;
            to.Descricao = from.Descricao;

            return to;
        }

        /// <summary>
        /// Traduz uma List(ErroExportacaoComitente) para uma ModelCollection do tipo ErroExportacaoComitente
        /// </summary>
        /// <param name="from"></param>
        /// <returns></returns>
        public ModelCollection<Model.ErroExportacaoComitente> ToErroExportacaoComitente(List<ErroExportacaoComitenteResponse> from)
        {
            ModelCollection<Model.ErroExportacaoComitente> lista = new ModelCollection<Model.ErroExportacaoComitente>();

            foreach (ErroExportacaoComitenteResponse response in from)
            {
                lista.Add(ToErroExportacaoComitente(response));
            }

            return lista;
        }

    #endregion 
    }
}
